//public class Test {
//    public static void main(String[] args) {
//        Thread t = new Thread(()-> {
//            while(true) {
//                System.out.println("hello thread");
//                try {
//                    Thread.sleep(1000);
//                } catch (InterruptedException e) {
//                    throw new RuntimeException(e);
//                }
//            }
//        });
//
//        t.start();
//        while(true) {
//            System.out.println("hello main");
//            try {
//                Thread.sleep(1000);
//            } catch (InterruptedException e) {
//                throw new RuntimeException(e);
//            }
//        }
//    }
//}
//
//class MyThread extends Thread {
//    @Override
//    public void run() {
//        while(true) {
//            System.out.println("hello thread");
//            try {
//                Thread.sleep(1000);
//            } catch (InterruptedException e) {
//                throw new RuntimeException(e);
//            }
//        }
//    }
//}
//public class Test {
//    public static void main(String[] args) throws InterruptedException {
//        Thread t = new MyThread();
//        t.start();
//        while(true) {
//            System.out.println("hello main");
//            Thread.sleep(1000);
//        }
//    }
////}
//
//class MyThread implements Runnable {
//    @Override
//    public void run() {
//        System.out.println("hello thread");
//    }
//}
//
//public class Test {
//    public static void main(String[] args) {
//       Thread t = new Thread(new MyThread());
//       t.start();
//    }
//}




public class Test {
    private static int count = 0;
    public static void main(String[] args) throws InterruptedException {
        Object clock = new Object();
        Thread t = new Thread(()->{
            for(int i = 0; i < 50000; i++) {
                synchronized (clock) {
                    count++;
                }
            }
        });

        t.start();
        for(int i = 0; i < 50000; i++) {
            synchronized (clock) {
                count++;
            }
        }
        t.join();
        System.out.println(count);
    }
}